草庐IT

Hadoop : NoSuchMethodException

全部标签

hadoop - Pig,用特定列的整数替换字符串

我是Pig的新手,所以这可能是一个微不足道的问题。我无法得到合理的答案,因此提出这个问题。有3列如下:useriditemidaction2454'view'2456'click'14912'buy'1491'click'等等……我有一个映射,例如:'view'=1、'click'=1.4、'buy'=2.1等我想要的输出是:useriditemidaction2454124561.4149122.114911.4可以帮助我实现这一目标的简单命令?我需要在第3列上执行一些计算,因此不能使用字符串格式。 最佳答案 使用这些映射值在HD

hadoop - 为什么oozie需要数据库?

我已经在我的系统中安装了apacheoozieversion4.1.2..安装时,我使用以下命令为oozie创建了一个数据库。ooziedb.shcreate-sqlfileoozie.sql-run(linux)为什么oozie需要数据库?它会在数据库中存储什么? 最佳答案 Oozie将工作流/调度程序详细信息和其他信息存储在数据库中。可以从控制台访问正在运行的作业和早期作业的状态。 关于hadoop-为什么oozie需要数据库?,我们在StackOverflow上找到一个类似的问题:

hadoop - Hive 中分区表的用途是什么?

我知道分区表用于水平分配负载,但它们的具体用途是什么?谁能用一个简单的例子向我解释一下? 最佳答案 分区允许Hive访问您的数据子集,而无需读取所有数据。这是为什么这可能有用的具体示例。为了使这一点易于理解,我的解释非常精简,如果您想要的不仅仅是我试图提供的表面层面的理解,我建议您阅读其他地方的Hive分区。您正在以每天~1TB的速率接收带时间戳的数据。您有100天前的数据,总数据负载为~100TB。很多时候,您希望汇总过去10天的一些数据。如果不进行分区,您将不得不读入所有100TB数据,尽管其中大部分数据无论如何都会被Hive忽

hadoop - 默认 Mapper-Reducer 类

假设我有两个数据集:helloworldbyeworld和helloearthnewearth并且我想运行一个没有指定映射器类或化简器类的map-reduce任务,因此将调用默认的映射器和化简器——它们都是恒等函数。当我运行该作业时,输出为::0helloworld0helloearth12newearth12byeworld我很困惑为什么key像0和12?!当我在main()::中注释掉这些行时,我只是使用了默认的映射器和缩减器//job.setMapperClass(Map.class);//job.setCombinerClass(Reduce.class);//job.setR

hadoop - 为什么我的 Hadoop 作业得到 Map task num = 1 ,并生成了 300 多个结果文件?

我有这样一份Hadoop工作。MR只有map,没有reduce。所以设置job.setNumReduces(0)。输入文件约300+然后我运行作业,我可以看到只有1个maptask在运行。完成它大约需要1个小时。然后我检查结果,我可以在输出文件夹中看到300多个结果文件。有什么问题吗?或者这是正确的做法?我真的希望Map应该等于输入文件的数量(而不是1)。我也不知道为什么输出文件数与输入文件数相同。hadoop作业是从oozie提交的。非常感谢您的热心帮助。新松 最佳答案 当您将reducer数量设置为0时,生成的输出对应于map任

hadoop DFS 启动命令不工作并给出错误

您好,我已经配置好hadoop并通过以下命令启动dfsstart_local_hdp_services但我收到以下错误已更新我在Windows上使用hadoop。使用“msi”安装请帮帮我已更新我在Startingmaster,startingregionserver中遇到错误 最佳答案 nohup是一个posix命令,因此您需要安装cygwin或运行某种不同的脚本(.cmd或.bat文件?)http://en.wikipedia.org/wiki/Nohup我倾向于安装cygwin或类似软件,基本上您需要能够模拟linux命令。您

hadoop - 无法执行大于 10Kb 的数据

我在服务器上安装了Hadoop1.3。还安装了Ambari,允许详细查看系统。我已经安装了Hue并且一切正常,但是我有一个只适用于非常小的数据(2Kb)的pig脚本,当我尝试将数据的大小增加到>10Kb时(我重复了数据以查看这是否是问题)它错误地说:Message:Jobfailed!Error-#offailedMapTasksexceededallowedlimit如果有人能提供帮助那就太好了。我有一种感觉,这是mapred中的一个配置,我必须更改它,但我尝试过的似乎没有做任何事情,因此我很高兴。谢谢 最佳答案 您显示的错误消息

hadoop - 比较hadoop hdfs中的时间戳

我是hadoop的新手,而且我手头有一个问题。有没有办法比较HDFS中两个文件之间的时间戳?非常感谢任何帮助。 最佳答案 使用FileSystem.getFileStatus(Path)获取FileStatus的方法返回对象,可以通过FileStaus.getModifiedTime()获取文件的修改时间方法FileSystemfs=FileSystem.get(conf);longts1=fs.getFileStatus(newPath("/path/to/file1")).getModifiedTime();longts2=fs

java - 如何在 Hadoop MapReduce 中对结果进行排序并剔除顶部条目?

我们正在从一个看起来像这样的文件中读入。100363002100341895100355361100355643我们需要做两件事:1-按右列排序2-去掉前3个结果所以它看起来像这样:100341895100355643100363002我该怎么做? 最佳答案 1)为了获得前3个结果,最好在Mapper中将所有值写在一个键下:context.write(NullWritable.get(),value);在Reducer中,您只能获取前三个结果并跳过其他结果。2)现在你所要做的,它的排序值,请搜索“Hadoopsecondarysor

hadoop - 为什么 Hadoop 洗牌时间比预期的要长

我试图找出在简单的hadoopwordcount示例中哪些步骤花费了多少时间。在此示例中,使用了3个映射和1个reducer,每个映射生成约7MB的随机数据。我有一个通过1Gb交换机连接的集群。当我查看作业详细信息时,意识到在所有maptask完成后改组需要大约7秒,这比传输这么小的数据的预期要多。这背后的原因可能是什么?谢谢 最佳答案 Hadoop使用心跳与节点通信。默认情况下,hadoop使用最小心跳间隔等于3秒。因此,hadoop会在两次心跳(大约6秒)内完成您的任务。更多详情:https://issues.apache.or